Field of the Invention
The subject matter disclosed herein generally relates micro-services and, more specifically, to accessing and executing these micro-services.
Brief Description of the Related Art
Computing systems utilize micro-services to, among other things, process and display information to users. In aspects, a micro-service is a component (e.g., a component written in software) that performs a single unit of work. The unit of work may be defined as the accomplishment of a work function. For example, micro-services can be used within a web page to display price, display suppliers, or display product ratings, to mention a few examples. Other example of micro-services include micro-services for validation of code (e.g., determine if there are viruses in the code), micro-services that provide user authentication, and micro-services that provide for classification of data.
Micro-services can be executed as layers, by calling (or executing) other micro-services. Micro-services, however, are not independently aware of the physical addresses of the dependent micro-services. In-order for one micro-service to call another micro-service, the calling micro-service requires knowledge of the physical address of the called micro-services. In other words, the addresses were static and the code of the calling micro-service was embedded with the physical address of the called micro-service.
This type of architecture created various problems. If the physical addresses of the called micro-service changed, then calling micro-service would need to be reconfigured and re-deployed. In another problem, if a first server that executed a micro-service went down or otherwise failed, there was no possibility a second server could be utilized to execute the micro-service since the address of the server could not be changed. Registrations of micro-services were manual and required resolution of all the micro-services present in the ecosystem.
All of these problems resulted in some user dissatisfaction with previous approaches.